export default function({$axios,redirect,route,store,app:{$cookies}}){

  //基本配置

  $axios.defaults.timeout=10000;

  //请求拦截
  $axios.onRequest(config=>{
    console.log('请求拦截', store.state.user)

    config.headers.token=store.state.user.token

    return config;

  })

  //响应拦截: 判断token是否过期，如果已经过期（如设置code==2），则跳转到登录页面，重新登录
  // 因为其他接口的返回中并不会携带有用户的token信息
  // 需要重新修改后台代码，对token进行控制
  // 这里有个问题：对于游客而言，整个网站的页面数据都是可以浏览的；
  // 但是当需要进行评论、收藏、点赞、购买等行为，则需要用户登录。如何控制这个流程呢？
  /**
   * 解决思想：
   *  1、对于公共页面展示的数据，请求路径中就不需要携带token信息；
   *  2、对于特定行为，如评论、收藏、点赞、购买等行为，需要携带token信息，即用户需要登录获取token
   * **/
  // 
  $axios.onResponse(res=>{
    console.log('响应拦截', res.data)

    // if(res.data.token === '' && route.fullPath !== '/login'){
    //   redirect('/login?path='+route.fullPath)
    // }

    return res
  })

  //错误处理
  $axios.onError(error=>{
    //处理
    return error;
  })


}